package gui;

import javax.swing.table.AbstractTableModel;

import queenProblem.PlayField;

/**
 * Erzeugt den Tabelleninhalt und bestimmt was in die verschiedenen Zellen kommt.
 *
 */
public class ViewModel extends AbstractTableModel{

	/**
	 * Das aktuelle Spielfeld
	 */
	PlayField aktuell;
	
	public ViewModel(PlayField aktuell) {
		this.aktuell = aktuell;
	}
	
	@Override
	public int getColumnCount() {
		return aktuell.getPlayFieldSize();
	}

	@Override
	public int getRowCount() {
		return aktuell.getPlayFieldSize();
	}
	
	@Override
	public Class<?> getColumnClass(int columnIndex) {
		return String.class;
	}

	@Override
	public Object getValueAt(int rowIndex, int columnIndex) {
		if(aktuell.getPlayField()[rowIndex][columnIndex]) {
			return "QUEEN";
		} else if(rowIndex % 2 == 0 && columnIndex % 2 == 0) {
			return "WHITE";
		} else if(rowIndex % 2 == 0 && columnIndex % 2 != 0) {
			return "BLACK";
		} else if(rowIndex % 2 != 0 && columnIndex % 2 == 0) {
			return "BLACK";
		} else if(rowIndex % 2 != 0 && columnIndex % 2 != 0) {
			return "WHITE";
		} throw new IllegalStateException();
	
	}
}